The present invention relates to signalling in a telecommunications network and more particularly to the use of Signalling System number 7 (SS7) in a telecommunications network.
In a modern telecommunications network, a considerable amount of signalling information is continually being exchanged between the Signalling Points (SPs) of the network. Examples of SPs are network switches, databases, etc. The actual signalling information being exchanged may be associated with a specific telephone call, e.g. relating to call set-up or termination, or may relate to network management functions. Complex protocols have been created to deal with the exchange of signalling information. In particular, Signalling System number 7 (SS7) defines (subject to certain national/regional variations) a suite of protocol parts (or levels) capable of dealing with modem network signalling demands.
FIG. 1 illustrates schematically the xe2x80x9cstructurexe2x80x9d of SS7 (it will be appreciated that the SS7 parts are generally implemented by means of software running on computer processors). On top of the SS7 stack sit the user and application parts which are the entities which make use of and provide signalling information. For example, an ISDN user part (ISUP) controls the setting and control of inter-exchange connections for subscriber calls whilst a mobile application part (MAP) handles database queries in a mobile network (e.g. to determine the current location of a mobile subscriber).
At the bottom of the SS7 stack is the Message Transfer Part (MTP) which in fact comprises three distinct levels. Level 1 defines the physical, electrical, and functional characteristics of a digital signalling link. MTP level 1 has a number of different possible forms including the European standard E.1 (2048 KB/S and 32 64 KB/S channels). MTP level 2 takes care of the accurate end-to-end transmission of messages across a chosen signalling link, whilst MTP level 3 handles the routing of signalling messages between neighbouring signalling links based upon information received from higher SS7 levels concerning the final destination of a signalling message. MTP level 3 handles inter alia re-routing of messages away from failed or congested signalling links.
Routing by MTP level 3 is carried out based on a destination signalling point and subsystem number (SSN), provided to the MTP by a higher SS7 layer. In particular, for the Transaction Capabilities Application Part (TCAP), which handles database queries for the MAP, INAP etc, a Signalling Connection and Control Part (SCCP) generates the destination signalling point and subsystem number using a process termed xe2x80x9cglobal title translationxe2x80x9d.
An additional important function of the SCCP in an origination node is to determine whether or not a block of data received from a user or application part is too large to be transmitted in a single SCCP message (which may be either a UniData (UDT) or an Extended UniData (XUDT) message). If the user data cannot be contained within a single UDT or XUDT message, then the SCCP segments the user data into two or more segments. In this case, each XUDT message contains a segmentation parameter which in turn contains an in-sequence delivery option flag which is set to assist in delivering the XUDT messages in the correct order to the destination node. With the in-sequence delivery option flag set, all of the associated XUDT messages should be transferred between the originating node and the destination node via the same signalling network path and consequently all of the XUDT messages should be received at the destination node in the correct order.
Operators of telecommunications networks are becoming more and more interested in sharing signalling traffic between the signalling nodes and links in order to optimise signalling traffic flow. This will involve dynamically allocating signalling traffic to signalling nodes and links depending upon capacity and availability. Operators are also becoming interested in the possibility of sending signalling traffic over IP networks, for example instead an MTP network, due to the cost advantages which IP networks provide.
In the event that operators decide to implement one or other of the above proposals, i.e. load sharing in an SS7 network or transmitting signalling traffic via an IP network, a potential problem is that SCCP segments (i.e. XUDT messages) may arrive at a destination node out of sequence. This will occur if a signalling node, either the originating node or an intermediate node, decides to change transmission links in the middle of transmitting a related sequence of segments, as segments may then be sent via different paths having different transmission times. Similarly, the very nature of an IP network means that there is no guarantee that a series of IP packets or xe2x80x9cdatagramsxe2x80x9d will be sent via the same route. Rather, routers within an IP network will dynamically allocate datagrams to links depending upon link availability. It is noted that the problem of SCCP segments arriving at a destination node out of sequence may arise even in existing SS7 networks where, for example, a given signalling link becomes unavailable during the transmission of a sequence of related SCCP segments.
It is an object of the present invention to overcome or at least mitigate the problems associated with existing and proposed signalling networks. This and other objects are achieved at least in part by providing for the reassembly of SCCP segments at a destination node in the event that a sequence of SCCP segments are received out of order.
According to a first aspect of the present invention there is provided a method of reassembling an ordered sequence of Signalling Connection and Control Part (SCCP) message segments at the SCCP of a signalling node of a telecommunications network, where said message segments are received out of order at the signalling node, the method comprising the steps of:
receiving a first of the message segments at the SCCP;
initiating a reassembly process for the sequence to which the received segment belongs;
storing the received segment as part of said initiated process;
receiving and storing the remaining segments of the SCCP message;
concatenating the received segments in the correct order to obtain an SCCP user data block; and
passing the reassembled SCCP user data block to an SCCP user.
Embodiments of the present invention enable SCCP data to be transmitted via a network which does not guarantee in-sequence delivery. As such, the network may be for example an IP network or an SS7 network using load sharing.
Preferably, the correct order of the segments is indicated by respective segmentation parameters which accompany the SCCP segments. More preferably, each segmentation parameter contains an indicator indicating the number of segments which follow the associated segment, when the segments are in the correct sequence.
Preferably, each of the segments contains a segmentation local reference which identifies the sequence to which the segment belongs, a calling party address, and/or an originating point code. More preferably, the segment reassembly process at said SCCP is identified by the segmentation local reference and one or both of the calling party address and originating point code. Upon receipt of a segment, the SCCP determines whether or not a segment reassembly process is currently in progress for the received segment using the segmentation local reference and calling party address/originating point code.
Preferably, a counter is started at the SCCP upon receipt of the first of a disordered sequence. The counter is incremented after receipt of each successive segment, and the counter is used to determine whether or not all the segments of a sequence have been received. When all the segments have been received, said concatenation of the segments is carried out.
According to a second aspect of the present invention there is provided apparatus for reassembling an ordered sequence of Signalling Connection and Control Part (SCCP) message segments at the SCCP of a signalling node of a telecommunications network, where said message segments are received out of order at the signalling node, the apparatus comprising:
memory means;
means for receiving the first of a set of SCCP message segments at the signalling node and for storing said received segment in said memory means;
means for receiving the remaining segments of the SCCP message and for storing these segments in the memory means;
processing means for concatenating the received segments in the correct order to form an SCCP user data block; and
means for transferring the SCCP user data block to an SCCP user.
According to a third aspect of the present invention there is provided a Signalling Connection and Control Part of an SS7 protocol stack, the SCCP being arranged to:
receive a first of the message segments;
initiate a reassembly process for the sequence to which the received segment belongs;
store the received segment as part of said initiated process;
receive and store the remaining segments of the SCCP message;
concatenate the received segments in the correct order to obtain an SCCP user data block; and
pass the reassembled SCCP user data block to an SCCP user.